#include "stdafx.h"
#include "Util.h"
#include "Frame.h"



void calculateCRC(bool CRC_input[DATCRC_INPUT],bool CRC_output[CRC_BODY],int len)
{
	bool temp1[DATCRC_INPUT];
	bool temp2[DATCRC_INPUT];
	for(int i=0;i<=len-1;i++)
	{
		temp1[i] = CRC_input[i];
	}
	for(int i=0;i<=len-16;i++)
	{
		if(temp1[i])
		{
			for(int j=0;j<=CRC_BODY;j++)
			{
				temp2[i+j] = (temp1[i+j]!=POLYNOMIAL[j]); //XOR
				temp1[i+j] = temp2[i+j];
			}
		}
	}
	for(int i=CRC_BODY-1;i>=0;i--)
	{
		CRC_output[CRC_BODY-1-i] = temp2[len-1-i];
	}
}